package cn.highedu.test;
/**
 * 静态导入 如果一个类中的方法都是静态的 通过静态导入 在调用当前类的静态方法时 就不需要通过类名调用了 可以直接使用
 */
import static org.junit.jupiter.api.Assertions.*;

import cn.highedu.demo.Calculate;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;

/**
 * Junit 断言
 */
public class Assert {
    Calculate calculate;
    @BeforeEach
    public void createCalculate() {
        calculate = new Calculate();
    }
    @Test
    public void test1() {
        // 由于使用了静态导入 该方法可以直接使用 不需要通过类名调用
        assertEquals(3, 3);
        //assertEquals(3, 2, "猜错了");
        int arr1[] = {1, 2};
        int arr2[] = {2, 3};
        assertArrayEquals(arr1, arr2, "猜错了");
    }
    @Test
    public void test2() {
        assertEquals(calculate.add(3, 5), 8);
    }
    @Test
    public void test3() {
        String str1 = "hello";
        String str2 = "hello";
        String str3 = new String("hello");
        String str4 = new String("hello");
        assertSame(str1, str2);
        assertSame(str3, str4, "对象不相等");

        // assertFalse(); 断言是不是为假
        // assertNotNull(); 断言不是空
        // assertTimeout(); 断言是不是超时
    }
}
